// 引入 gulp
var gulp = require('gulp');
// 引入组件
//var jshint = require('gulp-jshint');//用于检测 js 是否有误
//var sass = require('gulp-sass-china');//sass
var concat = require('gulp-concat');//合并文件
var uglify = require('gulp-uglify');//压缩
var rename = require('gulp-rename');//重命名
var imagemin = require('gulp-imagemin');//压缩图片
var cleanCSS = require('gulp-clean-css');//压缩css
var connect = require('gulp-connect');

//合并，压缩文件
//gulp.task('scripts',function(){
//	gulp.src('js/*.js')// 目标 该目录下的所有 js 文件
//		.pipe(concat('all.js'))// 需要合并的文件
//		.pipe(gulp.dest('libs/js'))//合并成功后保存文件的目录
//		.pipe(rename('all.min.js'))// 
//		.pipe(uglify())// 压缩
//		.pipe(gulp.dest('libs/js'));//把压缩好的文件存放到该目录	
//});

// 检查脚本
// 在编译之前检查 js 脚本是否全部正确
//gulp.task('lint',function(){
//	gulp.src('src/js/*.js')
//		.pipe(jshint())
//		.pipe(jshint.reporter('default'));
//});

//压缩图片
gulp.task('img',function(){
	gulp.src('images/*.{png,jpg,gif,ico}')
		.pipe(imagemin({
			progressive:true
		}))
		.pipe(rename({suffix:'.min'}))
		.pipe(gulp.dest('libs/images'));
});

// 压缩css
gulp.task('minicss',function(){
	return gulp.src('css/*.css')
		.pipe(rename({suffix:'.min'}))
		.pipe(cleanCSS({compatibility:'ie7'}))
		.pipe(gulp.dest('min-css'));
});

// 编译Sass
//gulp.task('sass', function() {
//    gulp.src('sass/*.scss')
//        .pipe(sass())
//        .pipe(uglify())
//        .pipe(rename({suffix:'.min'}))
//        .pipe(gulp.dest('css'));
//});

// 压缩js
gulp.task('minijs',function(){
	return gulp.src('js/*.js')
		.pipe(rename({suffix:'.min'}))
		.pipe(uglify())
		.pipe(gulp.dest('min-js'));
});

//使用connect启动一个Web服务器
gulp.task('connect', function () {
    connect.server({
        root: '',
        livereload: true
    });
});

gulp.task('html', function () {
    gulp.src('*.html')
      .pipe(connect.reload());
});

// 创建watch 任务去检测html文件，其定义了当html改动之后，去调用一个gulp的task
gulp.task('watch',function(){
	gulp.watch(['js/*.js'],['minijs']);
	gulp.watch(['css/*.css'],['minicss']);
//	gulp.watch(['sass/*.scss'],['sass']);
	gulp.watch(['*.html'], ['html']);
	gulp.watch(['js/*.js'],['html']);
	gulp.watch(['css/*.css'],['html']);
});

// 默认任务
   gulp.task('default',function(){
   		gulp.run('watch','connect');
   })